﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Molic.Core;

namespace Molic.Core.Controls.interfaces
{
    public interface IMolicModelFactory
    {
        //object ConfigureModel(string ModelName, MolicUIElement Model);
        
        /// <summary>
        /// Create a new model based on its visual reference.
        /// The visual reference is the graphic element in the model
        /// menu.
        /// </summary>
        /// <param name="VisualReference"></param>
        /// <returns></returns>
        MolicUIElement CreateModel(object VisualReference);
        /// <summary>
        /// Creates a new instance of a model by its model name.
        /// </summary>
        /// <param name="ModelName"></param>
        /// <returns></returns>
        MolicUIElement CreateModel(string ModelName);

        MolicUIElement CreateModel(string ModelName, Guid id);
    }
}
